import React, {Component} from 'react';
import Markdown from 'react-markdown';
import {Anchor, Row, Col} from 'antd';


class JsPage extends Component {
    constructor(props) {
        super(props);
    }


    render() {

        return (
            <div>
                <Markdown source={"# top命令的用法详细详解\n\n" +
                "第一行, 系统信息\n\n" +
                "       top - 17:03:37 up 17 days, 22:09,  1 user,  load average: 0.60, 0.72, 0.74\n\n" +
                "系统时间   运行时间    当前登陆用户  cpu1分钟、5分钟、15分钟的负载情况; \n\n load average数据是每隔5秒钟检查一次活跃的进程数，然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量，结果高于5的时候就表明系统在超负荷运转了\n\n" +
                "第二行, 进程\n\n" +
                "       Tasks:  23 total,   1 running,  21 sleeping,   0 stopped,   1 zombie\n\n" +
                "总任务    正在运行数量  休眠数量    停止数量    僵尸数量\n\n" +
                "第三行,cpu状态信息\n\n" +
                "       Cpu(s):  7.5%us,  2.6%sy,  0.0%ni, 27.5%id,  0.1%wa,  0.0%hi,  0.2%si, 62.2%st\n\n" +
                "us用户空间   sy系统空间    ni改变优先级的进程空间  id空闲空间    waIO等待空间    hi硬中断空间     软中断空间   st实时空间\n\n" +
                "第四行, 内存状态\n\n" +
                "       Mem:   8388608k total,  7884180k used,   504428k free,        0k buffer\n\n" +
                "第五行, swap交换分区信息\n\n" +
                "       Swap:        0k total,        0k used,        0k free,  1115140k cached\n\n" +
                "cached 缓冲的交换区总量\n\n" +
                "buffers 缓存的内存量\n\n" +
                "可用内存=free + buffer + cached , 对于内存监控，在top里我们要时刻监控第五行swap交换分区的used，如果这个数值在不断的变化，说明内核在不断进行内存和swap的数据交换，这是真正的内存不够用了。\n\n" +
                "第七行以下：各进程（任务）的状态监控\n\n" +
                "        PID   USER    PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n\n" +
                "```\n\n" +
                "PID — 进程id\n" +
                "USER — 进程所有者\n" +
                "PR — 进程优先级\n" +
                "NI — nice值。负值表示高优先级，正值表示低优先级\n" +
                "VIRT — 进程使用的虚拟内存总量，单位kb。VIRT=SWAP+RES\n" +
                "RES — 进程使用的、未被换出的物理内存大小，单位kb。RES=CODE+DATA\n" +
                "SHR — 共享内存大小，单位kb\n" +
                "S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程\n" +
                "%CPU — 上次更新到现在的CPU时间占用百分比\n" +
                "%MEM — 进程使用的物理内存百分比\n" +
                "TIME+ — 进程使用的CPU时间总计，单位1/100秒\n" +
                "COMMAND — 进程名称（命令名/命令行）\n```\n\n" +
                "如果你的系统有多个CPU，或者是多核CPU的话，那么，进程占用多个cpu的时间是累加的, 257:14.655代表的时间是,从右到左分别是毫秒,秒，分钟,这个就是257分钟，14秒，655毫秒。" +
                "### 多核CPU监控\n\n" +
                "在top基本视图中，按键盘数字“1”，可监控每个逻辑CPU的状况：\n\n" +
                "```\n\n" +
                "top - 17:24:21 up 17 days, 22:29,  2 users,  load average: 0.53, 0.66, 0.68\n" +
                "Tasks:  25 total,   1 running,  24 sleeping,   0 stopped,   0 zombie\n" +
                "Cpu0  :  5.0%us,  1.3%sy,  0.0%ni, 37.7%id,  0.0%wa,  0.0%hi,  0.0%si, 56.0%st\n" +
                "Cpu1  :  7.7%us,  3.4%sy,  0.0%ni, 20.1%id,  0.0%wa,  0.0%hi,  0.3%si, 68.5%st\n" +
                "Cpu2  :  8.4%us,  1.3%sy,  0.0%ni, 52.0%id,  0.0%wa,  0.0%hi,  0.3%si, 37.9%st\n" +
                "Cpu3  :  4.0%us,  1.3%sy,  0.0%ni, 24.3%id,  0.0%wa,  0.0%hi,  0.0%si, 70.3%st\n" +
                "```\n\n" +
                "高亮显示当前运行进程\n\n" +
                "敲击键盘“b”（打开/关闭加亮效果）\n\n"}/>

            </div>

        );
    }
}

export default JsPage;